;*****************************************************************************
; Copyright Advanced Micro Devices, Inc.All rights reserved.
;*****************************************************************************

;*****************************************
; INF Version Section
;*****************************************
[Version]
Signature   = "$WINDOWS NT$"
Provider    = %ManufacturerName%
Class       = SecurityDevices
ClassGuid   = {d94ee5d8-d189-4994-83d2-f68d7d41b0e6}
CatalogFile = amdpsp.cat
DriverVer   = 03/16/2026, 5.44.0.0
PnpLockdown = 1

;*****************************************
; INF DestinationDirs Section
;*****************************************
[DestinationDirs]
DefaultDestDir      = 12                ; legacy \system32\drivers
AMDPSP.PCI          = 12
AMDPSP.PCI_RS3      = 12                ; RS3+ \OneCore drivers dir
AMDPSP.AMDTEE64     = 11                ; legacy \system32
AMDPSP.AMDTEE32     = 10, SysWOW64      ; legacy \SysWOW64
AMDPSP.AMDTEE64_RS3 = 11                ; RS3+ System32
AMDPSP.AMDTEE32_RS3 = 10, SysWOW64      ; RS3+ SysWOW64

[SourceDisksNames]
1 = %DiskName%,,,""

[SourceDisksFiles]
amdpsp.sys       = 1,,
amdtee_api64.dll = 1,,
amdtee_api32.dll = 1,,

;*****************************************
; INF Manufacturer Section
;*****************************************
[Manufacturer]
%ManufacturerName% = AMDMfg, NTamd64, NTamd64.10.0...16299

;*****************************************
; INF Models Section
;*****************************************
; Pre-16299 installs (use DIRID 12/11/10)
[AMDMfg.NTamd64]
%amdpsp.DeviceDesc%     = amdpsp_Device,      PCI\VEN_1022&DEV_1537
%amdpsp.DeviceDesc%     = amdpsp_Device,      PCI\VEN_1022&DEV_1578
%amdpsp.DeviceDesc%     = amdpsp_Device,      PCI\VEN_1022&DEV_13EC
%amdpsp.DeviceDesc%     = amdpsp_Device,      PCI\VEN_1022&DEV_1456
%amdpsp_100.DeviceDesc% = amdpsp_Device_100,  PCI\VEN_1022&DEV_15DF
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_1649
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_1486
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_15C7
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_14CA
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_17E0
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_156E
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_1134
%amdpsp_110.DeviceDesc% = amdpsp_Device_110,  PCI\VEN_1022&DEV_115A

; RS3+ installs (use DIRID 13)
[AMDMfg.NTamd64.10.0...16299]
%amdpsp.DeviceDesc%     = amdpsp_Device_RS3,      PCI\VEN_1022&DEV_1537
%amdpsp.DeviceDesc%     = amdpsp_Device_RS3,      PCI\VEN_1022&DEV_1578
%amdpsp.DeviceDesc%     = amdpsp_Device_RS3,      PCI\VEN_1022&DEV_13EC
%amdpsp.DeviceDesc%     = amdpsp_Device_RS3,      PCI\VEN_1022&DEV_1456
%amdpsp_100.DeviceDesc% = amdpsp_Device_100_RS3,  PCI\VEN_1022&DEV_15DF
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_1649
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_1486
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_15C7
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_14CA
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_17E0
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_156E
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_1134
%amdpsp_110.DeviceDesc% = amdpsp_Device_110_RS3,  PCI\VEN_1022&DEV_115A

;*****************************************
; Install Sections
;*****************************************
[amdpsp_Device]
AddReg = amdpsp_Device_AddReg

[amdpsp_Device_100]
CopyFiles = AMDPSP.PCI, AMDPSP.AMDTEE64, AMDPSP.AMDTEE32
AddReg    = amdpsp_Device_AddReg

[amdpsp_Device_110]
CopyFiles = AMDPSP.PCI, AMDPSP.AMDTEE64, AMDPSP.AMDTEE32
AddReg    = amdpsp_Device_AddReg

; RS3+ variants
[amdpsp_Device_RS3]
CopyFiles = AMDPSP.PCI_RS3, AMDPSP.AMDTEE64_RS3, AMDPSP.AMDTEE32_RS3
AddReg    = amdpsp_Device_AddReg

[amdpsp_Device_100_RS3]
CopyFiles = AMDPSP.PCI_RS3, AMDPSP.AMDTEE64_RS3, AMDPSP.AMDTEE32_RS3
AddReg    = amdpsp_Device_AddReg

[amdpsp_Device_110_RS3]
CopyFiles = AMDPSP.PCI_RS3, AMDPSP.AMDTEE64_RS3, AMDPSP.AMDTEE32_RS3
AddReg    = amdpsp_Device_AddReg

;*****************************************
; CopyFiles Sections
;*****************************************
[AMDPSP.PCI]
amdpsp.sys

[AMDPSP.PCI_RS3]
amdpsp.sys

[AMDPSP.AMDTEE64]
amdtee_api.dll, amdtee_api64.dll,,0x00000008

[AMDPSP.AMDTEE32]
amdtee_api.dll, amdtee_api32.dll,,0x00000008

[AMDPSP.AMDTEE64_RS3]
amdtee_api.dll, amdtee_api64.dll,,0x00000008

[AMDPSP.AMDTEE32_RS3]
amdtee_api.dll, amdtee_api32.dll,,0x00000008

;*****************************************
; AddReg Section
;*****************************************
[amdpsp_Device_AddReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5
HKR,,DeviceCharacteristics,0x10001,0x100
HKR,,Security,,"D:P(A;;GA;;;BA)(A;;GA;;;SY)(A;;GRGWGX;;;BU)"

;*****************************************
; Services Sections
;*****************************************
[amdpsp_Device.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

[amdpsp_Device_100.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

[amdpsp_Device_110.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

; RS3+ variants
[amdpsp_Device_RS3.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

[amdpsp_Device_100_RS3.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

[amdpsp_Device_110_RS3.Services]
AddService = amdpsp, %SPSVCINST_ASSOCSERVICE%, amdpsp_Service_Inst

[amdpsp_Service_Inst]
DisplayName    = %amdpsp.SVCDESC%
ServiceType    = 1
StartType      = 0
ErrorControl   = 0
ServiceBinary  = %12%\amdpsp.sys
LoadOrderGroup = Cryptography

;*****************************************
; HW and WDF Sections
;*****************************************
[amdpsp_Device_100.HW]
AddReg = amdpsp_Device_HW_AddReg

[amdpsp_Device_110.HW]
AddReg = amdpsp_Device_HW_AddReg

[amdpsp_Device_100_RS3.HW]
AddReg = amdpsp_Device_HW_AddReg

[amdpsp_Device_110_RS3.HW]
AddReg = amdpsp_Device_HW_AddReg

[amdpsp_Device_HW_AddReg]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "WDF", "WdfDirectedPowerTransitionEnable", 0x00010001, 1

[amdpsp_Device_100.Wdf]
KmdfService = amdpsp, amdpsp_wdfsect

[amdpsp_Device_110.Wdf]
KmdfService = amdpsp, amdpsp_wdfsect

[amdpsp_Device_100_RS3.Wdf]
KmdfService = amdpsp, amdpsp_wdfsect

[amdpsp_Device_110_RS3.Wdf]
KmdfService = amdpsp, amdpsp_wdfsect

[amdpsp_wdfsect]
KmdfLibraryVersion = 1.13

;*****************************************
; Strings
;*****************************************
[Strings]
SPSVCINST_ASSOCSERVICE = 0x00000002
ManufacturerName       = "Advanced Micro Devices Inc."
ClassName              = "Security Devices"
DiskName               = "AMD PSP Installation Disk"
amdpsp.DeviceDesc      = "AMD PSP Device"
amdpsp_100.DeviceDesc  = "AMD PSP 10.0 Device"
amdpsp_110.DeviceDesc  = "AMD PSP 11.0 Device"
amdpsp.SVCDESC         = "AMD PSP Service"
